Real-time video communication applications over an Internet Protocol (IP) network, such as online video conferencing and video chatting, as well as full-length programs, are becoming widely deployed nowadays in both enterprise and consumer markets, and will become more and more popular in the foreseeable future. In those applications, the video bitstreams are generally packetized into packets using various packetization schemes that are defined under different transportation protocols. For example, while previous video streaming used protocols such as the Real Time Protocol (RTP), adaptive bitrate (ABR) streaming is a technique used in streaming multimedia over computer networks that is designed to work efficiently over large distributed hypertext transfer protocol (HTTP) networks such as the Internet.
When probing for additional bandwidth in an ABR system, the client tries to read data at a rate faster than the rate at which it is currently decoding and displaying video. It typically does this by periodically sending as fast as it can. While it is doing this, the underlying transmission control protocol (TCP) session is potentially over-driving the network and building up standing queues in the “middlebox” upstream of the bottleneck link. These enlarged queues cause delay for all packets in the same or lower priority queues. The offending flow's traffic, as well as cross traffic, is impacted by the increased delay. Many flows (such as interactive voice traffic, gaming or electronic trading) are sensitive to delay, and the user of these services can be adversely impacted by the increase in delay. This is colloquially known as “buffer bloat”.